public class BankDemo {
    public static void main(String[] args) {
        CheckingAccount c = new CheckingAccount(101);
        System.out.println("Depositing $500...");
        c.deposit(500.00);
        try {
            System.out.println("\nWithdrawing $100...");
            c.withdraw(100.00);
            System.out.println("\nWithdrawing $600...");
            c.withdraw(600.00);
        } catch (InsufficientFundsException e) {
            System.out.println("Sorry, but you are short $"
                    + e.getAmount());
            e.printStackTrace();
        }
    }
}
/**
 * 通用异常
 * 在Java中定义了两种类型的异常和错误。
 *
 * JVM(Java虚拟机) 异常：由 JVM 抛出的异常或错误。
 * 例如：NullPointerException 类，ArrayIndexOutOfBoundsException 类，ClassCastException 类。
 * 程序级异常：由程序或者API程序抛出的异常。
 * 例如 IllegalArgumentException 类，IllegalStateException 类。
 */
